The present invention is related to a system and method for providing a software user interface and more particularly to a system and method for providing an adaptive software user interface.
Computer systems and consumer software applications have increasingly become more powerful and more complex. Consumer software applications frequently provide diverse functionality requiring complex interactions between a user and the user interface. The complexity of these interactions is quite often too cumbersome for most users. For example, certain procedures or routines associated with a consumer software application may be used relatively infrequently. A user may be required to relearn the various menu selections necessary to perform such procedures or routines due to the length of time involved between repetition of the procedures or routines.
To address these issues, software producers have developed various help topic lists. In general, an alphabetical list of help topics is presented to a user when the user clicks on an appropriate menu or icon. The user may scroll through the list. Alternatively, the user may perform a rudimentary text search to identify a specific topic in the list. However, this approach is problematic in many respects. In particular, it requires the software producer to identify each and every potential help topic before release of the software product. The help topic list is then sufficiently large that it does not allow user to quickly locate help topics of interest. Instead, the user must cull through numerous selections before being able to obtain desired information.
In one embodiment, the present invention is directed to a method for providing an adaptive computer user interface. The method may comprise the steps of: monitoring operating system events associated with input from a user to generate a series of operating system events; determining whether said series of operating system events is unrelated; and when said series of operating system events is unrelated, offering help to said user.
In another embodiment, the present invention is directed to a system for providing computer user interface. The system may comprise a means for monitoring user input; a means for determining whether a series of events is a unrelated series; and a means for offering assistance to said user, wherein said means for offering assistance is operable to offer assistance when said means for determining determines that said series of events is a unrelated series.